package com.carleasoft.mps.adu.business.basicsInfo.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.carleasoft.mps.adu.business.basicsInfo.bean.entity.AuthorityUserBasicInfo;
import com.carleasoft.mps.adu.business.basicsInfo.bean.po.AuthorityUserBasicInfoPo;
import com.carleasoft.mps.adu.business.basicsInfo.bean.po.ExcelPo;
import com.carleasoft.mps.adu.business.basicsInfo.bean.po.TargetItemPo;
import com.carleasoft.mps.adu.business.basicsInfo.bean.po.UserInfoCountPo;
import com.carleasoft.mps.adu.business.basicsInfo.bean.vo.AuthorityUserBasicInfoVo;
import com.carleasoft.mps.adu.business.basicsInfo.bean.vo.AuthorityUserInfoVo;
import com.carleasoft.mps.adu.business.basicsInfo.bean.vo.UserInfoCountVo;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * @author: yangHao
 * @createDate:2023/6/5
 * @description:
 */
public interface AuthorityUserBasicInfoService extends IService<AuthorityUserBasicInfo> {
    boolean saveUser(AuthorityUserBasicInfoPo authorityUserBasicInfoPo);

    boolean updateUser(AuthorityUserBasicInfoPo authorityUserBasicInfoPo);

    Page<AuthorityUserBasicInfoVo> pageQuery(Page page, AuthorityUserBasicInfoPo authorityUserBasicInfoPo);

    AuthorityUserInfoVo selectById(String userCode);

    boolean delete(AuthorityUserBasicInfoPo authorityUserBasicInfoPo);

    void excel(HttpServletResponse response);

    boolean importUserExcel(MultipartFile file);

    void excelExam(ExcelPo excelPo, HttpServletResponse response);

    List<TargetItemPo> importExcel(MultipartFile file);

    Page<UserInfoCountVo> userInfoCount(Page page, UserInfoCountPo userInfoCountPo);

    Integer userSubmitFlagById();
}
